![]() メモリマッピング技術
专利摘要:
揮発性及び不揮発性メモリにおいてデータ構造を使用して論理的セクタが物理的ページへとマップされる不揮発性メモリのためのメモリマッピング技術を提供する。ある実施形態において、不揮発性メモリにおける第1のルックアップテーブルは、論理的セクタを物理的ページへと直接マップする。揮発性メモリにおける第2のルックアップテーブルは、不揮発性メモリにおける第1のルックアップテーブルの物理的アドレスを保持する。ある実施形態において、揮発性メモリにおけるキャッシュは、最も最近書き込まれた論理的セクタの物理的アドレスを保持する。又、ガベージコレクション及び回復オペレーションに使用できるブロックコンテンツを記述するブロックTOCも開示される。 公开号:JP2011511388A 申请号:JP2010545943 申请日:2009-02-02 公开日:2011-04-07 发明作者:ヴァディム フメリニツキ;ニル;ジェイコブ ワクラット 申请人:アップル インコーポレイテッド; IPC主号:G06F12-10
专利说明:
[0001] 本発明は、一般的に、メモリマッピングに係る。] [0002] 関連出願:本出願は、参考としてここにそのまま援用する、2008年2月4日出願の“Memory MappingTechniques”と題するプロビジョナル特許出願第61/026,095号の優先権の利益を主張するものである。] [0003] 又、本出願は、各々参考としてここにそのまま援用する、2008年8月18日出願の“Memory MappingArchitecture”と題する特許出願第12/193,563号(代理人管理番号第22748−0012001号)、及び2008年8月18日出願の“Memory Restore & Garbage Collection”と題する米国特許出願第12/193,613号(代理人管理番号第22748−0013001号)に関連している。] 背景技術 [0004] フラッシュメモリは、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)の一形式である。フラッシュメモリは、不揮発性で且つ比較的高密度であるために、ハンドヘルドコンピュータや、移動電話や、デジタルカメラや、ポータブル音楽プレーヤや、他の記憶解決策(例えば、磁気ディスク)が適さない他の多数の装置において、ファイル及び他の持続性オブジェクトを記憶するのに使用される。不都合なことに、フラッシュメモリは、2つの制約で悩まされている。第1に、メモリの大きなブロックを消去しないと、ビットをクリアできない。第2に、各ブロックは、限定された消去回数しか行えず、それを過ぎると、もはや確実にデータを記憶することができない。これらの制約により、フラッシュメモリを効率的に使用するのに、複雑なデータ構造及びアルゴリズムがしばしば要求される。これらのアルゴリズム及びデータ構造は、データの効率的なノット・イン・プレース(not-in-place)更新をサポートし、消去の回数を減少し、そして装置内のブロックの摩耗を平坦化するために使用される。] [0005] フラッシュメモリは、ページを含むブロックが最初に消去されない限り、物理的メモリページへのイン・プレース更新又は再書き込みをサポートしない。この欠点を克服するために、ハードウェア及び/又はソフトウェアレイヤがフラッシュサブシステムにしばしば追加される。フラッシュトランスレーションレイヤ(FTL)ともしばしば称されるこのレイヤは、フラッシュメモリと共に、論理的セクタを物理的メモリページへマッピングすることで二次記憶装置を模擬することができる。メモリフラッシュベースの装置の場合に、FTLは、ハードウェアのコントローラとして実施される。このコントローラは、プロセッサ又はマイクロコントローラを少量の揮発性メモリ(例えば、RAM)と共に備えることができる。コントローラは、ファイルシステム(例えば、論理的セクタ)からの読み取り/書き込み要求をフラッシュの特定のブロックにおける読み取り/書き込み動作へと変換し、そして「ガベージコレクション」(GC)を開始して、汚染ブロックを消去し、解放ブロックを再生利用するという役割を果たすことができる。] 発明が解決しようとする課題 [0006] ランダムアクセス又は更新を要求するフラッシュ装置(例えば、スマートホン)は、FTLが特別な読み取り/書き込み及びGCオペレーションを実行するようにさせる。これら特別なオペレーションは、予想し得ない装置の振舞い及び著しい性能低下を招くことになる。] 課題を解決するための手段 [0007] 揮発性及び不揮発性メモリにおいてデータ構造を使用して論理的セクタが物理的ページへとマップされる不揮発性メモリのためのメモリマッピング技術が開示される。ある実施形態において、不揮発性メモリにおける第1のルックアップテーブルは、論理的セクタを物理的ページへと直接マップする。揮発性メモリにおける第2のルックアップテーブルは、不揮発性メモリにおける第1のルックアップテーブルの位置を保持する。ある実施形態において、揮発性メモリにおけるキャッシュは、最も最近書き込まれた論理的セクタの物理的アドレスを保持する。又、ガベージコレクション及び回復オペレーションに使用できるブロックコンテンツを記述するブロックTOCも開示される。] 発明の効果 [0008] ここに開示するメモリマッピング技術は、従来のフラッシュメモリブロックマッピング技術に勝る多数の効果を発揮する。これら効果の幾つかは、次のものを含むが、これらに限定されない。1)論理的セクタを物理的ページへ直接マッピングすることによりブロックマッピングの必要性を排除し、2)現在ブロックの全てのページが割り当てられるまで新たなブロックを割り当てる必要性を排除し、3)異なる論理的エリアに対して異なるジャーナルブロックを割り当てる必要性を排除し、そして4)現在ブロックの全てのページが割り当てられるまでGCオペレーションをトリガーする必要性を排除する。] 図面の簡単な説明 [0009] インデックステーブル及びインデックス目次(table of contents)(TOC)を使用して論理的セクタを物理的ページへ直接マッピングするためのメモリマッピングアーキテクチャーを例示するブロック図である。 図1に示すメモリマッピングアーキテクチャーを使用する読み取りオペレーションを例示するフローチャートである。 図1に示すメモリマッピングアーキテクチャーを使用する読み取りオペレーションを例示するフローチャートである。 図1のメモリマッピングアーキテクチャーを使用する書き込みオペレーションを例示するフローチャートである。 図1のメモリマッピングアーキテクチャーを使用する書き込みオペレーションを例示するフローチャートである。 図1のメモリマッピングアーキテクチャーを使用する書き込みオペレーションを例示するフローチャートである。 図1のメモリマッピングアーキテクチャーを使用する回復オペレーションを例示するフローチャートである。 図1のメモリマッピングアーキテクチャーを使用する回復オペレーションを例示するフローチャートである。 図1−4及び図7のメモリアーキテクチャー及びオペレーションを実施するためのメモリサブシステムを例示するブロック図である。 図1−4及び図7のメモリアーキテクチャー及びオペレーションを実施するためのメモリサブシステムを含む装置のシステムアーキテクチャーを例示するブロック図である。 ブロック目次をもつ現在データブロックを例示する図である。 図6のブロック目次を使用するGCオペレーションを例示するフローチャートである。] 図1 図6 図7 実施例 [0010] システムの概略 図1は、ルックアップテーブルを使用して論理的セクタを物理的ページへとマッピングするためのメモリマッピングアーキテクチャー100を例示するブロック図である。ある実施形態では、揮発性メモリ(例えば、RAM)におけるルックアップテーブル102は、不揮発性メモリ(例えば、フラッシュメモリ)におけるルックアップテーブル106の位置(例えば、物理的アドレス)を保持する。ルックアップテーブル106は、データページ108の物理的アドレスを保持する。ある実施形態では、揮発性メモリにおけるキャッシュ104は、より高速な読み出しを行えるように、最近書き込まれた論理的セクタの物理的アドレスを保持する。ここに示す実施例では、ルックアップテーブル102は、インデックスTOC102とも称され、ルックアップテーブル106は、インデックステーブル106又はインデックスページとも称され、そしてキャッシュ104は、インデックステーブルキャッシュ104とも称される。] 図1 [0011] アーキテクチャー100において、インデックスTOC102は、インデックステーブル106を不揮発性メモリに記憶できるようにする。これが効果的であるのは、典型的にコントローラ内に利用できる少量のRAMは、コントローラのコスト、面積及び消費電力の上昇のために拡張できないからである。ある実施形態では、揮発性メモリは、その利用性、或いは他のトリガー事象及び/又は動作モードに基づいて動的に構成することができる。] [0012] 揮発性メモリにおけるデータ構造の例 ある実施形態において、データブロックは、揮発性メモリに記憶されるブロックテーブルに関連付けることができ、これは、ブロック状態データ(例えば、空き、不良、割り当て済み、現在)、有効ページ番号、消去カウント、及びエラー修正コード(ECC)固定カウントを含むことができる。] [0013] ある実施形態において、インデックスTOC102の各エントリーは、インデックステーブル106のエントリーの不揮発性メモリにおける物理的アドレスと、インデックステーブルキャッシュ104のエントリーを指すポインタとを記憶する。インデックステーブル106の希望のエントリーがインデックステーブルキャッシュ104に記憶されていないことを指示するために、アドレス0xff又は他の指示子をインデックスTOC102のエントリーに配置することができる。] [0014] ある実施形態では、揮発性メモリ(例えば、RAM)に次の構造を割り当てる必要がある。インデックステーブルキャッシュにおける空きエントリーの数、現在データブロック(例えば、書き込み又は更新オペレーションに使用されるブロック)、現在ブロックにおける次の空きページを指すポインタ、現在ブロックTOC(例えば、論理的セクタをブロック内のページへとマッピングするための情報を含むブロックに記憶されたTOC)、現在インデックスブロック(例えば、インデックス更新に使用されるブロック)、インデックスブロックにおける次の空きページを指すポインタ、現在インデックスブロックTOC、及び空きブロックの数。] [0015] ある実施形態では、インデックステーブルキャッシュ104の各エントリーは、次のものを含むが、これに限定されない。即ち、データを保持するためのバッファ(例えば、2Kバッファ)、状態データ(例えば、清潔、汚染、空き)、カウンタ(例えば、特定のブロックが何回アクセスされたかを示すシリアルカウンタ又はカウント)。] [0016] 上述したデータ構造は、例示に過ぎず、用途に応じて他のデータ構造を使用することもできる。ブロックTOCのようなデータ構造は、他の図面を参照して詳細に説明する。] [0017] 読み取りオペレーションの例 図2A−2Bは、図1に示すメモリマッピングアーキテクチャーを使用する読み取りオペレーション200を例示するフローチャートである。] 図1 図2A [0018] 図2Aを参照すれば、ある実施形態において、読み取りオペレーション200は、1つ以上の論理的セクタに関連した読み取り要求を得ることにより開始することができる(202)。例えば、読み取り要求は、ファイルシステムにより発生することができる。読み取り要求は、第1セクタ番号と、連続するセクタの数とを含むことができる。要求における論理的セクタごとに(204)、揮発性メモリのインデックスTOC(例えば、インデックスTOC102)をチェックして(206)、現在論理的セクタに関連したデータページアドレスが揮発性メモリのインデックステーブルキャッシュ(例えば、インデックステーブルキャッシュ104)に記憶されるかどうか決定する。データページアドレスがインデックステーブルキャッシュに記憶される場合には(208)、データページアドレスがインデックステーブルキャッシュから読み取られ(210)、不揮発性メモリで読み取り動作を遂行するのに使用される(212)。] 図2A [0019] データページアドレスがインデックステーブルキャッシュに記憶されない場合には(208)、データページアドレスを記憶する当該インデックステーブルエントリの物理的ページアドレスがインデックスTOCから読み取られ(214)、データページアドレスを記憶する当該インデックステーブルエントリがインデックステーブルエントリから読み取られ、インデックステーブルキャッシュに記憶される(216)。次いで、データページアドレスがインデックステーブルキャッシュから読み取られ、不揮発性メモリで読み取り動作を遂行するのに使用される(212)。] [0020] より多くの論理的セクタを処理する必要がある場合には(204)、読み取りオペレーション200のために全ての論理的セクタが処理されるまで、次のステップが繰り返される。] [0021] ある実施形態では、ステップ216の間に、インデックステーブルキャッシュがいっぱいになった場合に、インデックステーブルキャッシュの古いデータページアドレスをフラッシュして、不揮発性メモリのインデックステーブルから読み取られた新たなデータページのための余地を作ることができる。インデックステーブルキャッシュをフラッシュすると、不揮発性メモリへの不必要な書き込みオペレーションがトリガーされる。この不必要な書き込みオペレーションを回避するために、揮発性メモリにオーバーフローバッファを形成し、これを使用して、不揮発性メモリのインデックステーブルから読み取られたデータページアドレスを記憶することができる。オーバーフローバッファを読み取って、読み取りオペレーション200に使用するためのデータページアドレスを得ることができる。従って、揮発性メモリにオーバーフローバッファを形成することで、読み取り動作中に不揮発性メモリへの不必要な書き込みオペレーションを防止することができる。] [0022] 図1を参照すれば、揮発性メモリのインデックスTOC102は、読み取られるべきデータページ108の物理的ページアドレスを保持するインデックステーブル106に関する情報を含む。インデックステーブル106は、揮発性メモリのインデックステーブルキャッシュ104に記憶されるか、又は不揮発性メモリのインデックスブロックに記憶される。インデックステーブル106がインデックステーブルキャッシュ104に記憶される場合には、インデックステーブルキャッシュ104からインデックステーブル106を読み取り、それを使用して、不揮発性メモリにおいて読み取られるべきデータページ108の物理的アドレスを見出すことができる。インデックステーブル106がインデックステーブルキャッシュ104に記憶されない場合には、データページアドレスを不揮発性メモリのインデックステーブル106の当該エントリーからインデックステーブルキャッシュ104へ読み取ることができる。インデックステーブルキャッシュ104からデータページアドレスを読み取り、これを使用して、不揮発性メモリのデータページ108で読み取りオペレーションを遂行することができる。] 図1 [0023] ある実施形態では、読み取りオペレーション200は、論理的セクタ番号(Lpn)と、読み取るべき連続する論理的セクタの数とを得る。読み取りオペレーション200は、論理的セクタ番号を不揮発性メモリにおける物理的位置へとマップする。2KBのページサイズを仮定すれば、次のような擬似コードを使用して、読み取りオペレーション200のための幾つかの例示的ステップを説明することができる。 ステップ1:indexPage=readPhysicalPage(TOC[Lpn/512]) ステップ2:dataBuffer=readPhysicalPage(indexPage[Lpn%512]) ステップ3:return dataBuffer ここで、readPhysicalPageは、物理的ページを指すポインタを返送する機能であり、TOC[]及びindexPage[]は、各々、TOCエントリー及びindexPageエントリーを記憶するためのアレイであり、そして512は、インデックステーブルエントリによりマップされるデータページの数である(512*4バイト=2KB)。この例では、形式indexPageは、インデックステーブルの出発アドレス(ポインタ)を保持し、そして形式dataBufferは、読み取られるべき論理的セクタ番号Lpnに対応するデータページの出発アドレス(ポインタ)を保持する。] [0024] 書き込みオペレーションの例 図3A−3Cは、図1に示すアーキテクチャーを使用する書き込みオペレーション300を例示するフローチャートである。] 図1 図3A [0025] 図3A及び3Bを参照すれば、ある実施形態において、書き込みオペレーション300は、1つ以上の論理的セクタに関連した書き込み要求を得ることにより開始することができる(302)。例えば、書き込み要求は、ファイルシステムによって発生することができる。書き込み要求は、第1の論理的セクタアドレスと、書き込むべき連続する論理的セクタの数とを含むことができる。要求における論理的セクタごとに(303)、現在データブロックがいっぱいである場合に(304)、図6を参照して述べるように、現在データブロックのページ(例えば、最終ページ)にブロックTOCを書き込む(306)。] 図3A 図6 [0026] 現在データブロックは、更新に使用されるアクティブなブロックである。ブロックTOCは、ブロック内の全てのページを記述する不揮発性メモリのページ(例えば、ブロック内の最終ページ)である。ブロックTOCは、図4A−4Bを参照して述べるように、全ブロックをスキャニング(読み取り)せずに揮発性メモリ(RAM)において一時的インデックステーブルを再構成するための回復オペレーションに使用することができる。又、ブロックTOCは、図7を参照して述べるように、GCオペレーションに使用することもできる。] 図4A 図7 [0027] 図3Bを参照すれば、空きブロックを使用できる場合(308)、その使用可能な空きブロックは、新たな現在データブロックとして割り当てることができる(312)。空きブロックが使用できない場合(308)(例えば、空きブロックの数がスレッシュホールド値より低い場合)、空きブロックのスレッシュホールド数を満足するまでGCオペレーションを遂行して空きブロックを発生することができる(310)。次いで、空きブロックを現在データブロックとして割り当てることができる(312)。現在データブロックがいっぱいでない場合には(304)、図3Cに示すように、書き込みオペレーション300は、ステップ314へと続く。] 図3B 図3C [0028] ある実施形態では、現在データブロックのブロックTOCは、現在データブロックがいっぱいになり且つ新たな現在データブロックが割り当てられるまで、揮発性メモリに記憶することができる。そのとき、古い現在データブロックのブロックTOCは、不揮発性メモリ(例えば、現在データブロックの最終ページ)へ書き込むことができ、そして新たな現在データブロックのブロックTOCは、揮発性メモリにおいてリセットすることができる。] [0029] 図3Cを参照すれば、書き込みオペレーションは、ページを現在データブロックへ逐次に書き込み、そして揮発性メモリにおいて現在ブロックTOCを更新することにより継続する(314)。現在データブロックのための有効ページカウントが更新される(例えば、適当な数だけ増加又は減少される)。インデックステーブルキャッシュが、書き込まれたセクタに関連したインデックスページを含む場合には、それが更新される(320)。ある実施形態では、有効なページカウントをブロックテーブル513(図5)に記憶することができる。] 図3C [0030] 書き込まれたセクタに関連したインデックステーブルエントリがインデックステーブルキャッシュに存在せず(318)、又、インデックステーブルキャッシュに使用可能な空きスペースがある(322)場合には、インデックスTOCに記憶されると共に揮発性メモリのインデックステーブルキャッシュに記憶された位置を使用して不揮発性メモリからインデックスページが読み取られる(326)。キャッシュに空きスペースがない場合には(322)、古いキャッシュページを不揮発性メモリに対してフラッシュして(324)、不揮発性メモリから読み取られた新たなページを記憶するためのスペースをキャッシュにおいて解放することができる。インデックステーブルキャッシュにおいてスペースが解放された後に、ステップ(322)において条件が満足され、インデックスTOCに記憶された位置を使用して不揮発性メモリからインデックスページが読み取られ、揮発性メモリのインデックステーブルキャッシュに記憶される(326)。] [0031] ある実施形態では、書き込みオペレーション300は、論理的セクタ番号(Lpn)と、書き込むべき連続する論理的セクタの数とを得る。次いで、書き込みオペレーション300は、全てのページを、更新に使用される不揮発性メモリの現在データブロックへと順次に記憶する。現在データブロックがいっぱいの場合には、新たな現在データブロックを更新のために割り当てることができる。新たな現在データブロックを割り当てる必要があり、且つ充分な空きブロックがない場合には、GCオペレーションを空きブロックに対して遂行することができる。次のような擬似コードを使用して書き込みオペレーション300を説明することができる。 ステップ1:新たなブロックを割り当てる(任意)。 ステップ2:新たなブロックが必要で且つ充分な空きブロックがない場合には、GCオペレーションを遂行して空きブロックを発生する(任意)。 ステップ3:Lpnを表すdataBufferを現在データブロック(Cvbn)へ書き込み、物理的ページ番号(Vpn)をメモリに記憶する。 ステップ4:Lpnに関連したインデックスページがインデックスキャッシュにあるかどうかチェックし、もしそうであれば、ステップ6へ進む。 ステップ5:インデックスキャッシュがいっぱいであるかどうかチェックし、もしそうであれば、ステップ7へ進まない。 ステップ6:キャッシュからのインデックスページの1つを書き込み、インデックスTOCにおいてそれに関連したエントリーをフラッシュし更新する。 ステップ7:Lpnに関連したインデックスページをインデックスキャッシュへ読み込む:indexPage=readPhysicalPage(TOC[Lpn/512])。 ステップ8:Lpnに関連したインデックスページのエントリーを更新する:indexPage[Lpn%512]=Vpn。] [0032] ステップ1及び2は、任意であることに注意されたい。ステップ1は、現在データブロック状態(例えば、現在ブロックがどの程度いっぱいか)に依存し、又、ステップ2は、どれほど多くの空きブロックを使用できるかに依存する。] [0033] 特別な読み取り/書き込みオペレーションの実行を回避するために、インデックステーブルページの幾つかを揮発性メモリ(例えば、コントローラのRAM)に記憶することができる。これらのページは、キャッシュ記憶のインデックステーブルページとして定義することができる。キャッシュサイズは、動的に構成可能であり、例えば、システムRAM利用性及び/又は動作モードに依存する。動作モードは、例えば、歌がホストコンピュータの歌ライブラリーと同期されるiPod(登録商標)「同期モード」である。この「同期」モードでは、例えば、バッファが解放されて、読み取り/書き込みメモリオペレーションに使用される。] [0034] ブロックTOCを使用するガベージコレクションの例 媒体が完全に使用されると、来るべき更新に対してもはや有効ではないデータによって占有されたブロックを解放するために、GCオペレーションを使用することができる。「最良の候補」ブロックは、最低量の有効ページしかもたないブロックである。GCオペレーションを開始するための多数のトリガーがあり、これは、空きブロックの数が規定限界より下がったときに、読み取り/書き込み妨害質低下(長期間消去されていない古いブロックのリフレッシュ)に応答して、新たな不良ブロックを発見する、等を含むが、これに限定されない。] [0035] GCオペレーションは、ブロックTOCから読み取られたページメタデータから利益を得ることができる。GCオペレーションは、典型的に、低速であり、各ページメタデータが実際にブロック内の有効ページの1つであるかどうかを確立するためにそれを読み出すことを必要とする(実際上、1ページ全体を読み取ることを意味する)。ページメタデータの当該部分は、ブロックTOCによって与えられ、これは、コントローラが、不必要なメモリアクセスを実行せずに、GCオペレーションを有効に管理できるようにする。] [0036] ある実施形態では、現在インデックスブロックに対するブロックTOCが生成されて、揮発性メモリ内にポピュレートされる。各ブロックTOCエントリーは、現在データブロックにおけるページに対応することができる。現在データブロックにおける各ページが書き込まれるときに、ブロックTOCの対応エントリーが、そのページに対応する対応論理的セクタ番号で更新される。現在データブロックがいっぱいになると、現在データブロックの最終ページにブロックTOCが書き込まれる。例えば、図6に示すように、完全ブロック600の最終ページ(例えば、ページN)にブロックTOC602を書き込むことができる。ブロックTOC602が最終ページに書き込まれた後に、新たなブロックを現在データブロックとして割り当てることができる。] 図6 [0037] 新たなブロックを使用できない場合には、GCオペレーションを実行して完全ブロックを解放することができる。GCオペレーションに対する「最良の候補ブロック」は、最低量の有効ページしかもたない完全ブロックである。というのは、ブロックを消去できる前に無効ページが新たなページにコピーされないからである。従って、GCオペレーションに対する「最良の候補ブロック」を決定するために、メモリシステムは、各完全ブロックにおける有効ページのカウントを決定する。所与のページが有効であるかどうか決定するために、ページをブロックから読み出し、そして不揮発性メモリにおけるインデックステーブル106の対応エントリーと相互参照することができる。しかしながら、この相互参照オペレーションは、望ましからぬ書き込みオペレーションをトリガーして、不揮発性メモリにおけるインデックステーブル106から揮発性メモリにおけるキャッシュへインデックスページを転送することがある。この不必要な書き込みオペレーションを軽減するために、メモリシステムは、ブロックTOCのエントリーからページに対応する論理的セクタ番号を読み取り、ページが有効であるかどうか決定することができる。ある実施形態では、論理的セクタ番号とインデックステーブルページとの相互参照を簡単化するために、ブロックTOCエントリーが分類される(例えば、同様の論理的セクタ番号をクラスター化するために次第に増加する順に分類される)。同じ論理的セクタ番号に対応するページは無効であり、ページ全体を読み取らずに消去することができる。ある実施形態では、図6に示すように、有効ページカウントを、揮発性メモリにおけるブロックテーブル513(図5A及び5B)に記憶することができる。] 図5A 図6 [0038] ガベージコレクションオペレーションの例 図7は、図6のブロックTOCを使用するGCオペレーション700を例示するフローチャートである。ある実施形態では、GCオペレーション700は、ブロックテーブルを読み取って、候補ブロックを決定し(702)、候補ブロックのブロックTOCを読み取って、ブロックのコンテンツを記述するメタデータを得る(704)ことを含む。この例では、情報は、ブロックのページに関連した論理的セクタ番号を含む。] 図6 図7 [0039] ある実施形態では、論理的セクタ番号は、分類基準に基づいて分類される(例えば、次第に増加する順に分類される)(706)。分類により同じ論理的セクタ番号クラスターが生じ、これは、分類された論理的セクタ番号をインデックスページと相互参照して候補ブロックにおける無効ページを決定する次のステップを容易にする(708)。候補ブロックにおける無効ページは、現在ブロックが消去されるまで新たなブロックへコピーされない。各有効ページは、不揮発性メモリから揮発性メモリへ読み取られる。例えば、図3A−3Cを参照して述べたように新たなページを書き込むためのプロセスを使用して現在ブロックへページを書き込むために書き込みセクタプロセスが実行される。] 図3A [0040] ブロックTOCを使用する回復オペレーションの例 図4A−4Bは、図1のアーキテクチャーを使用する回復オペレーション400を例示するフローチャートである。この回復オペレーション400は、破滅的事象(例えば、停電)のために失われるインデックステーブル106及びインデックスTOC102を再現するのに使用できる。ある実施形態では、回復オペレーション400は、ブロックごとに第1ページを読み取ることにより開始される(402)。ブロックが空きである場合には(404)、ブロックは、インデックステーブルにおける空きブロックとしてセットされる(406)。ブロックが空きでなく(404)且つブロックがインデックスブロックである(408)場合には、インデックスブロックを消去することができ(410)、ブロックテーブルにおける空きブロックとしてセットされる(406)。ブロックが空きでもインデックスブロックでもない(408)場合には、ブロックを、それらの年齢に応じて分類される割り当てられたブロックのリストに挿入することができる(412)。] 図1 図4A [0041] 図4Bを参照すれば、分類されたリストにおけるブロックごとに、ステップ415−422は、次のように遂行することができる。ブロックTOCがブロックから読み取られる(415)。ブロックTOCが存在する場合には(416)、ブロックTOCを使用して揮発性メモリにおける一時的なインデックステーブルを更新することができる(418)。ブロックTOCが存在しない場合には(416)、完全ブロックスキャンを使用してブロックの各ページを読み取ることができ(420)、有効なページカウント及び一時的なインデックステーブルが更新される(422)。分類されたブロックがステップ415−422により処理された後に、一時的なインデックステーブルを不揮発性メモリに書き込むことができ(424)、インデックスTOCを揮発性メモリにおいて発生することができ(426)、そして一時的インデックステーブルを揮発性メモリにおいて解除することができる(428)。] 図4B [0042] ある実施形態では、リストは、ブロックの年齢に基づいて、増加する順序で分類され、「最も若い」又は最も最近割り当てられたデータが、分類されたリストの最上部に来るようにされる。これは、分類された順序で「最も若い」から「最も年長」へと進みながら、各論理的セクタの最も新鮮なコピーが得られることを保証する。] [0043] ある実施形態では、より小さなメモリ占有面積で回復オペレーション400を機能させることができるように各部分でインデックステーブルを回復することができる。これは、例えば、揮発性メモリが一時的インデックステーブルを受け入れるに充分な大きさでない場合に行うことができる。この場合には、回復オペレーション400は、インデックステーブルの一部分をカバーするバッファを割り当てることができる。回復オペレーションを繰り返すたびに、割り当てられたインデックスバッファによりカバーできるデータ範囲が再マップされる。繰り返し数は、インデックスバッファのサイズに比例する。例えば、インデックスバッファが大きいほど、各繰り返しで大きなデータ範囲がカバーされるので、繰り返しが少なくて済む。] [0044] メモリサブシステムの例 図5Aは、図1−4及び図7のメモリアーキテクチャー及びオペレーションを実施するためのメモリサブシステムを例示するブロック図である。ある実施形態では、サブシステム500は、コントローラ502と、不揮発性メモリ504と、ホストインターフェイス506とを含むことができる。コントローラ502は、揮発性メモリ510(例えば、RAM)及びプロセッサ508を含むことができる。揮発性メモリ510は、ブロックTOC512と、ブロックテーブル513と、インデックステーブルキャッシュ514とを記憶する。揮発性メモリ510は、利用性及び他の適当なファクタに基づいてプロセッサ508により動的に構成することができる。不揮発性メモリ504は、インデックステーブル516及びデータページ518を含むことができる。サブシステム500は、明瞭化のために図5から省略された他のコンポーネントを含むことができる。] 図1 図5A 図7 [0045] オペレーション中に、ホストインターフェイス506は、ホストシステムからバス(例えば、IDE/ATT)を経て読み取り/書き込み要求を得ることができる。ホストインターフェイス506は、データ、アドレス及び制御信号を受信するための回路及びソフトウェアを含むことができる。読み取り/書き込み要求は、論理的セクタ番号と、読み取り/書き込みすべき連続する論理的セクタの数とを含むことができる。] [0046] プロセッサ508は、揮発性メモリ510にアクセスし、インデックスTOC512を読み取って、インデックステーブルキャッシュ514が論理的セクタに対する物理的アドレスを含むかどうか決定することができる。インデックステーブルキャッシュ514が物理的アドレスを含む場合には、その物理的アドレスが読み取り/書き込みオペレーションに使用される。インデックステーブルキャッシュ514が物理的アドレスを含まない場合には、プロセッサ508は、揮発性メモリ510にアクセスして、インデックスTOCを読み取り、不揮発性メモリ504におけるインデックステーブル516のページアドレスを得る。プロセッサ508は、インデックステーブル516における物理的アドレスを使用して、読み取り/書き込みオペレーション中にデータページ518へのメモリマッピングを遂行することができる。ブロックテーブル513は、図7を参照して述べたように、「最良の候補ブロック」を決定するのに使用できるブロックに対する有効ページカウントを記憶することができる。] 図7 [0047] ある実施形態では、データページ518、インデックスTOC512及び/又はインデックステーブル516を、1つ以上の異なるメモリ装置において実施することができる。] [0048] 図5Bは、図1−4及び図7のメモリアーキテクチャー及びオペレーションを実施するためのメモリサブシステムを含む装置520を例示するブロック図である。ある実施形態では、装置520は、例えば、メディアプレーヤ装置、パーソナルデジタルアシスタント、移動電話、ポータブルコンピュータ、デジタルカメラ、等のポータブル装置である。] 図1 図5B 図7 [0049] 装置520は、ホストコントローラ(又はいわゆる「システム・オン・チップ」即ち「SoC」522、及び不揮発性メモリ528を備えている。装置520は、ホストコントローラ522及び不揮発性メモリ528の外部の付加的なメモリを含むのも任意である。ホストコントローラ522は、1つ以上のプロセッサ524及び揮発性メモリ526を含む。ある実施形態では、揮発性メモリ526は、スタティックなランダムアクセスメモリ(SRAM)である。ホストコントローラ522は、図2−4を参照して述べたオペレーションを含む種々の処理オペレーション及び入力/出力オペレーションを遂行する。例えば、ホストコントローラ522は、ユーザ入力を受け取って処理し、出力を発生し、メディア(例えば、オーディオ、ビデオ、グラフィック)デコーディング及び処理オペレーション、他の処理オペレーション、等を遂行することができる。ホストコントローラ522は、揮発性メモリ526からデータを読み取り且つ揮発性メモリ526へデータを書き込むことができる。又、ホストコントローラ522は、インターフェイス(図示せず)を通して不揮発性メモリ528へ読み取り又は書き込みオペレーションを発生することもできる。] [0050] ある実施形態では、不揮発性メモリ528は、NANDフラッシュメモリである。他の実施形態では、不揮発性メモリ528は、別の形式の不揮発性メモリ、例えば、NORフラッシュメモリ、他の形式のソリッドステートメモリ、又はハードディスクドライブである。又、装置520は、明瞭化のために図5Bから省略されている1つ以上の他のコンポーネントを含むこともできる。] 図5B [0051] 幾つかの実施形態を説明したが、種々の変更がなされ得ることを理解されたい。例えば、1つ以上の実施形態の要素を組み合わせ、削除し、変更し、又は補足して、更に別の実施形態を形成することができる。更に別の例として、図示された論理的フローは、望ましい結果を達成するために、図示された特定の順序又は逐次の順序を必要とするものではない。更に、上述したフローに他のステップを設けてもよく、又はそこからステップを除去してもよいし、上述したシステムに他のコンポーネントを追加してもよく、又はそこから除去してもよい。従って、これらの他の実施形態は、特許請求の範囲内に包含される。] [0052] 100:メモリマッピングアーキテクチャー 102:インデックスTOC 104:インデックステーブルキャッシュ 106:インデックステーブル 108:データページ 502:メモリコントローラ 504:不揮発性メモリ 506:ホストインターフェイス 508:プロセッサ 510:揮発性メモリ 512:インデックスTOC 513:ブロックテーブル 514:インデックステーブルキャッシュ 516:インデックステーブル 518:データページ 522:ホストコントローラ 524:プロセッサ 526:揮発性メモリ 528:不揮発性メモリ]
权利要求:
請求項1 不揮発性メモリの第1ページアドレスに対応する1つ以上の論理的セクタに関連した読み取り要求を得、前記第1ページアドレスが揮発性メモリにおけるインデックステーブルキャッシュに含まれるかどうか決定し、前記第1ページアドレスが前記インデックステーブルキャッシュに含まれる場合は、前記第1ページアドレスを前記インデックステーブルキャッシュから読み取り、前記第1ページアドレスを使用して読み取りオペレーションを遂行し、前記第1ページアドレスが前記インデックステーブルキャッシュに含まれない場合は、前記揮発性メモリにおけるインデックス目次(TOC)から、前記第1ページアドレスを記憶している不揮発性メモリのインデックステーブルエントリーの第2ページアドレスを得、前記インデックステーブルエントリーから前記第1ページアドレスを読み取り、前記第1ページアドレスを使用して読み取りオペレーションを遂行する、ことを含む方法。 請求項2 前記揮発性メモリにおけるインデックステーブルキャッシュに前記第1ページアドレスを記憶することを更に含む、請求項1に記載の方法。 請求項3 メモリの利用性、1つ以上のトリガー事象、又は1つ以上の動作モードに基づいて前記揮発性メモリを動的に構成することを更に含む、請求項1に記載の方法。 請求項4 1つ以上の論理的セクタに関連した書き込み要求を得、現在データブロックがいっぱいであるかどうか決定し、前記現在データブロックがいっぱいである場合には、前記現在データブロックのページにブロック目次(TOC)を書き込み、前記現在データブロックがいっぱいでない場合には、前記現在データブロックに1つ以上のページを書き込み、現在ブロックTOCを更新し、前記現在データブロックに対する有効なページコンテンツを更新する、ことを含む方法。 請求項5 前記現在データブロックがいっぱいである場合には、空きブロックを使用できるかどうか決定し、空きブロックを使用できる場合には、その空きブロックを現在データブロックとして割り当て、空きブロックを使用できない場合には、ガベージコレクションオペレーションを遂行して、空きブロックを発生する、ことを含む請求項4に記載の方法。 請求項6 前記現在データブロックいっぱいでない場合には、インデックステーブルキャッシュが、書き込まれた論理的セクタに関連したインデックスページを含むかどうか決定し、インデックステーブルキャッシュが、書き込まれた論理的セクタに関連したインデックスページを含む場合には、有効なページカウントを更新する、ことを含む請求項4に記載の方法。 請求項7 インデックステーブルキャッシュが、書き込まれた論理的セクタに関連したインデックスページを含まない場合には、インデックステーブルキャッシュに空きスペースがあるかどうか決定し、インデックステーブルキャッシュに空きスペースがある場合には、インデックステーブルキャッシュに記憶された位置を使用してインデックスページを読み取り、インデックステーブルキャッシュに空きスペースがない場合には、インデックステーブルキャッシュから古いページをフラッシュする、ことを含む請求項6に記載の方法。 請求項8 前記ブロックTOCは、現在データブロックの最終ページに書き込まれる、請求項4に記載の方法。 請求項9 インデックステーブルキャッシュ及びインデックス目次を記憶する揮発性メモリと、論理的セクタに対応するページアドレスを記憶するインデックステーブルを記憶する不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリに結合されたコントローラであって、論理的セクタに関連した読み取り要求を得、前記論理的セクタに関連した第1ページアドレスがインデックステーブルキャッシュに含まれるかどうか決定し、前記第1ページアドレスが前記インデックステーブルキャッシュに含まれる場合は、前記第1ページアドレスを前記インデックステーブルキャッシュから読み取り、前記第1ページアドレスを使用して読み取りオペレーションを遂行し、更に、前記第1ページアドレスが前記インデックステーブルキャッシュに含まれない場合は、前記揮発性メモリにおけるインデックス目次から、前記第1ページアドレスを記憶している不揮発性メモリのインデックステーブルエントリーの第2ページアドレスを得、前記インデックステーブルエントリーから前記第1ページアドレスを読み取り、前記第1ページアドレスを前記インデックステーブルキャッシュに記憶する、ように動作できるコントローラと、を備えたメモリシステム。 請求項10 前記コントローラは、前記揮発性メモリにおけるインデックステーブルキャッシュに前記第1ページアドレスを記憶するように動作できる、請求項9に記載のメモリシステム。 請求項11 前記コントローラは、メモリの利用性、1つ以上のトリガー事象、又は1つ以上の動作モードに基づいて前記揮発性メモリを動的に構成するように動作できる、請求項9に記載のメモリシステム。 請求項12 インデックステーブルキャッシュ及びインデックス目次を記憶する揮発性メモリと、論理的セクタに対応するページアドレスを記憶するエントリーをもつインデックステーブルを記憶する不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリに結合されたコントローラであって、1つ以上の論理的セクタに関連した書き込み要求を得、現在データブロックがいっぱいであるかどうか決定し、前記現在データブロックがいっぱいである場合には、前記現在データブロックのページにブロック目次(TOC)を書き込み、前記現在データブロックがいっぱいでない場合には、前記現在データブロックに1つ以上のページを書き込み、現在ブロックTOCを更新し、前記現在データブロックに対する有効なページコンテンツを更新する、ように動作できるコントローラと、を備えたメモリシステム。 請求項13 前記現在データブロックがいっぱいである場合には、空きブロックを使用できるかどうか決定し、空きブロックを使用できる場合には、その空きブロックを現在データブロックとして割り当て、空きブロックを使用できない場合には、ガベージコレクションオペレーションを遂行して、空きブロックを発生する、ことを含む請求項12に記載のメモリシステム。 請求項14 前記現在データブロックいっぱいでない場合には、インデックステーブルキャッシュが、書き込まれた論理的セクタに関連したインデックスページを含むかどうか決定し、インデックステーブルキャッシュが、書き込まれた論理的セクタに関連したインデックスページを含む場合には、有効なページカウントを更新する、ことを含む請求項12に記載のメモリシステム。 請求項15 インデックステーブルキャッシュが、書き込まれた論理的セクタに関連したインデックスページを含まない場合には、インデックステーブルキャッシュに空きスペースがあるかどうか決定し、インデックステーブルキャッシュに空きスペースがある場合には、インデックステーブルキャッシュに記憶された位置を使用してインデックスページを読み取り、インデックステーブルキャッシュに空きスペースがない場合には、インデックステーブルキャッシュから古いページをフラッシュする、ことを含む請求項14に記載のメモリシステム。 請求項16 前記ブロックTOCは、現在データブロックの最終ページに書き込まれる、請求項12に記載のメモリシステム。 請求項17 第1メモリにおけるデータページに対応する論理的セクタを読み取り又は書き込むための要求を得、第2メモリにおける第1ルックアップテーブルを読み取って、第1メモリにおける第2ルックアップテーブルの位置を決定し、第2ルックアップテーブルを読み取って、論理的セクタとデータページとの間のマッピングを決定する、ことを含む方法。 請求項18 不揮発性メモリから第1ルックアップテーブルを、そして揮発性メモリから第2ルックアップテーブルを読み取ることを更に含む、請求項17に記載の方法。 請求項19 論理的セクタとデータページとの間のマッピングを決定し、そのマッピングを使用して不揮発性メモリからデータページを読み取る、ことを更に含む請求項18に記載の方法。 請求項20 論理的セクタとデータページとの間のマッピングを決定し、そのマッピングを使用してデータページへデータを書き込む、ことを更に含む、請求項18に記載の方法。 請求項21 前記第1ルックアップテーブルは、目次であり、前記第2ルックアップテーブルは、インデックステーブルであり、前記インデックス目次は、インデックステーブルエントリーのページアドレスを記憶し、そしてインデックステーブルエントリーは、データページアドレスを記憶する、請求項18に記載の方法。 請求項22 第1ルックアップテーブルを記憶する揮発性メモリと、第2ルックアップテーブルを記憶する不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリに結合されたコントローラであって、論理的セクタを読み取り又は書き込むための要求を得、揮発性メモリから第1ルックアップテーブルを読み取って、不揮発性メモリにおける第2ルックアップテーブルの位置を決定すると共に、第2ルックアップテーブルを読み取って、不揮発性メモリにおける論理的セクタとデータページとの間のマッピングを決定する、ように動作できるコントローラと、を備えたメモリシステム。 請求項23 前記データページは、前記ルックアップテーブルとは異なるメモリ装置に記憶される、請求項22に記載のシステム。 請求項24 前記コントローラは、前記マッピングを使用して前記不揮発性メモリからデータページを読み取るように動作できる、請求項22に記載のシステム。 請求項25 前記コントローラは、前記マッピングを使用して前記データページへデータを書き込むように動作できる、請求項22に記載のシステム。 請求項26 前記第1ルックアップテーブルは、目次であり、前記第2ルックアップテーブルは、インデックステーブルであり、前記インデックス目次は、インデックステーブルエントリーのページアドレスを記憶し、そしてインデックステーブルエントリーは、データページアドレスを記憶する、請求項22に記載のシステム。 請求項27 前記データページは、前記不揮発性メモリのブロックに含まれ、このブロックは、前記データページを前記論理的セクタに関連付けるブロック目次を含む、請求項22に記載のシステム。 請求項28 前記ブロック目次は、前記ブロックの最終ページに記憶される、請求項27に記載のシステム。 請求項29 前記揮発性メモリは、少なくとも前記ブロックに対する有効ページカウントを記憶するためのブロックテーブルを含む、請求項28に記載のシステム。 請求項30 ホスト装置へ結合すると共に、ホスト装置から読み取り又は書き込み要求を得るように構成できるインターフェイスを更に備えた、請求項22に記載のシステム。 請求項31 プロセッサにより実行されたときに、プロセッサが、データページアドレスを記憶するためのエントリーを有するインデックステーブルを不揮発性メモリに生成し、及び前記インデックステーブルの対応エントリーのページアドレスを記憶するためのエントリーを有するインデックス目次を揮発性メモリに生成する、ことを含むオペレーションを遂行するようにさせるインストラクションが記憶されたコンピュータ読み取り可能な媒体。 請求項32 不揮発性メモリにおけるデータページに対応する論理的セクタを読み取り又は書き込むための要求を得、インデックス目次を読み取って、データページアドレスを記憶する対応インデックステーブルエントリーのページアドレスを決定し、インデックステーブルエントリーを読み取って、データページアドレスを得、前記データページアドレスを使用してデータページにおいて読み取り又は書き込みオペレーションを遂行する、ことを更に含む請求項31に記載のコンピュータ読み取り可能な媒体。 請求項33 不揮発性メモリのブロックのページにブロック目次(TOC)が存在するかどうか決定し、前記ブロックTOCが存在しない場合には、そのブロック全体を読み取り、不揮発性メモリにおけるインデックステーブルを更新し、インデックステーブルは、読み取り又は書き込み要求の論理的セクタをブロックのページへマッピングするためのページアドレスを記憶するものであり、前記インデックステーブルを不揮発性メモリへ書き込み、前記インデックステーブルを使用して、揮発性メモリにおいてインデックスTOCを発生し、前記ブロックTOCが存在する場合には、ブロックTOCを使用して前記インデックステーブルを更新し、前記インデックステーブルを不揮発性メモリへ書き込み、前記インデックステーブルから揮発性メモリにおいてインデックスTOCを発生することを含む方法。 請求項34 揮発性メモリにおいて前記インデックステーブルを解除することを更に含む、請求項33に記載の方法。 請求項35 不揮発性メモリのブロックの最終ページに前記ブロックTOCが記憶される、請求項33に記載の方法。 請求項36 揮発性メモリにおいてブロックに対する有効なページカウントを更新することを更に含み、その有効なページカウントは、ガベージコレクション(GC)オペレーションのための最良の候補ブロックを決定するのに使用される、請求項33に記載の方法。 請求項37 前記ブロックは、ブロックの分類されたリストから得られる、請求項33に記載の方法。 請求項38 前記ブロックの分類されたリストは、ブロックの年齢に基づき、増加する順に分類される、請求項37に記載の方法。 請求項39 候補ブロックのページからブロック目次(TOC)を読み取って、候補ブロックを記述する情報を得、前記情報を使用して前記候補ブロックにおける無効ページを決定し、前記候補ブロックに対する有効なページカウントを更新する、ことを含み、前記有効なページカウントは、その後のガベージコレクション(GC)オペレーションのための最良の候補ブロックを決定するのに使用される、方法。 請求項40 前記GCオペレーションのための候補ブロックの数に関連した有効なページカウントを読み取り、前記有効なページカウントに基づいてGCオペレーションのための最良の候補ブロックを決定する、ことを更に含む請求項39に記載の方法。 請求項41 前記情報は、論理的セクタ番号を含む、請求項39に記載の方法。 請求項42 前記無効ページを決定することは、更に、論理的セクタ番号を分類し、その分類された論理的セクタ番号をインデックステーブルページと相互参照して、前記候補ブロックにおける無効ページを決定する、ことを含む請求項41に記載の方法。 請求項43 不揮発性メモリと、前記不揮発性メモリに結合されたコントローラであって、前記不揮発性メモリのブロックのページにブロック目次(TOC)が存在するかどうか決定し、前記ブロックTOCが存在しない場合には、そのブロック全体を読み取り、不揮発性メモリにおけるインデックステーブルを更新し、インデックステーブルは、読み取り又は書き込み要求の論理的セクタをブロックのページへマッピングするためのページアドレスを記憶するものであり、前記インデックステーブルを不揮発性メモリへ書き込み、前記インデックステーブルを使用して、揮発性メモリにおいてインデックスTOCを発生し、前記ブロックTOCが存在する場合には、ブロックTOCを使用して前記インデックステーブルを更新し、前記インデックステーブルを不揮発性メモリへ書き込み、前記インデックステーブルから揮発性メモリにおいてインデックスTOCを発生するように動作できるコントローラと、を備えたシステム。 請求項44 揮発性メモリにおいて前記インデックステーブルを解除することを更に含む、請求項43に記載のシステム。 請求項45 不揮発性メモリのブロックの最終ページに前記ブロックTOCが記憶される、請求項43に記載のシステム。 請求項46 揮発性メモリにおいてブロックに対する有効なページカウントを更新することを更に含み、その有効なページカウントは、ガベージコレクション(GC)オペレーションのための最良の候補ブロックを決定するのに使用される、請求項43に記載のシステム。 請求項47 前記ブロックは、ブロックの分類されたリストから得られる、請求項43に記載のシステム。 請求項48 前記ブロックの分類されたリストは、ブロックの年齢に基づき、増加する順に分類される、請求項47に記載のシステム。 請求項49 不揮発性メモリと、前記不揮発性メモリに結合されたコントローラであって、候補ブロックのページからブロック目次(TOC)を読み取って、候補ブロックを記述する情報を得、前記情報を使用して前記候補ブロックにおける無効ページを決定し、前記候補ブロックに対する有効なページカウントを更新する、ように動作できるコントローラと、を備え、前記有効なページカウントは、その後のガベージコレクション(GC)オペレーションのための最良の候補ブロックを決定するのに使用される、システム。 請求項50 前記GCオペレーションのための候補ブロックの数に関連した有効なページカウントを読み取り、前記有効なページカウントに基づいてGCオペレーションのための最良の候補ブロックを決定する、ことを更に含む請求項49に記載のシステム。 請求項51 前記情報は、論理的セクタ番号を含む、請求項49に記載のシステム。 請求項52 前記無効ページを決定することは、更に、論理的セクタ番号を分類し、その分類された論理的セクタ番号をインデックステーブルページと相互参照して、前記候補ブロックにおける無効ページを決定する、ことを含む請求項51に記載のシステム。
类似技术:
公开号 | 公开日 | 专利标题 US9286243B2|2016-03-15|Logical-to-physical address translation for a removable data storage device CN107003942B|2020-09-22|对用于增强存储设备的性能和持久性的解除映射命令的处理 US9477596B2|2016-10-25|LBA bitmap usage USRE46404E1|2017-05-16|Flash memory management method KR101965549B1|2019-04-03|고체 상태 드라이브에서 자유 공간 어카운트와 함께 재구축되는 2 스테이지 파워 온 맵을 위한 방법들, 디바이스들, 및 시스템들 US8489854B1|2013-07-16|Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table US8316209B2|2012-11-20|Robust index storage for non-volatile memory JP5696118B2|2015-04-08|不揮発性メモリシステムのためのウィーブシーケンスカウンタ US9021190B2|2015-04-28|Memory system US8904090B2|2014-12-02|Non-volatile memory device, devices having the same, and method of operating the same US8706989B2|2014-04-22|Data storage device with power-off recovery system and method thereof US8463983B2|2013-06-11|Container marker scheme for reducing write amplification in solid state devices TWI428745B|2014-03-01|記憶體系統、控制記憶體系統的方法及資訊處理裝置 US8166233B2|2012-04-24|Garbage collection for solid state disks US8352706B2|2013-01-08|Memory system managing address translation table and method of controlling thereof Hu et al.2009|Write amplification analysis in flash-based solid state drives US8949512B2|2015-02-03|Trim token journaling TWI463315B|2014-12-01|資料儲存裝置及用於資料儲存之方法 KR101288408B1|2013-07-22|플래시 메모리 시스템의 고속 웨이크-업을 용이하게 하는 방법과 시스템 JP5317689B2|2013-10-16|メモリシステム US8117374B2|2012-02-14|Flash memory control devices that support multiple memory mapping schemes and methods of operating same US8037232B2|2011-10-11|Data protection method for power failure and controller using the same KR101002978B1|2010-12-22|플래시 메모리 관리 시스템 및 방법 KR101631348B1|2016-06-16|불휘발성 메모리에 대한 메타데이터 리던던시 스킴 RU2243588C2|2004-12-27|Энергонезависимое устройство памяти, устройство записи и способ записи
同族专利:
公开号 | 公开日 EP2423819A1|2012-02-29| US20090198952A1|2009-08-06| KR20120008079A|2012-01-25| KR20100114535A|2010-10-25| WO2009100031A1|2009-08-13| US20090198902A1|2009-08-06| EP2255288A1|2010-12-01| US8417893B2|2013-04-09| KR101173775B1|2012-08-16| KR101446832B1|2014-10-07| US8397014B2|2013-03-12| US20090198947A1|2009-08-06|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JP2007334852A|2005-11-30|2007-12-27|Sony Corp|Storage device, computer system, and storage device access method| US20070300037A1|2006-06-23|2007-12-27|Microsoft Corporation|Persistent flash memory mapping table|JP2011243274A|2010-04-30|2011-12-01|Micron Technology Inc|メモリデバイスに対するインデックスレジスタアクセス| JP2013065308A|2011-09-16|2013-04-11|Apple Inc|不揮発性メモリを有するシステムの非正常シャットダウンの取り扱い| JP2015515678A|2012-03-23|2015-05-28|ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc.|テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法|US4323987A|1980-03-28|1982-04-06|Pitney Bowes Inc.|Power failure memory support system| US4323967A|1980-04-15|1982-04-06|Honeywell Information Systems Inc.|Local bus interface for controlling information transfers between units in a central subsystem| JP2582487B2|1991-07-12|1997-02-19|インターナショナル・ビジネス・マシーンズ・コーポレイション|半導体メモリを用いた外部記憶システム及びその制御方法| US5341330A|1992-10-30|1994-08-23|Intel Corporation|Method for writing to a flash memory array during erase suspend intervals| US5404485A|1993-03-08|1995-04-04|M-Systems Flash Disk Pioneers Ltd.|Flash file system| US5689704A|1994-03-04|1997-11-18|Sony Corporation|Recording medium, recording/playback device which uses commands in character string form for audio system control| US5935259A|1996-09-24|1999-08-10|Apple Computer, Inc.|System and method for preventing damage to media files within a digital camera device| US6199076B1|1996-10-02|2001-03-06|James Logan|Audio program player including a dynamic program selection controller| JPH10260912A|1997-03-17|1998-09-29|Mitsubishi Electric Corp|メモリカード| US6000006A|1997-08-25|1999-12-07|Bit Microsystems, Inc.|Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage| SG82587A1|1997-10-21|2001-08-21|Sony Corp|Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, presentation medium and recording medium| JPH11203191A|1997-11-13|1999-07-30|Seiko Epson Corp|不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体| GB9903490D0|1999-02-17|1999-04-07|Memory Corp Plc|Memory system| US6799242B1|1999-03-05|2004-09-28|Sanyo Electric Co., Ltd.|Optical disc player with sleep mode| US6427186B1|1999-03-30|2002-07-30|Frank Lin|Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers| JP3873523B2|1999-05-21|2007-01-24|ソニー株式会社|再生装置| ID27748A|1999-05-28|2001-04-26|Matsushita Electric Ind Co Ltd|Kartu memori semikonduktor, peralatan playback, peralatan perekam, metoda playback, metoda perekam dan medium perekam yang dapat dibaca komputer| US6816856B2|2001-06-04|2004-11-09|Hewlett-Packard Development Company, L.P.|System for and method of data compression in a valueless digital tree representing a bitset| JP4362248B2|2001-09-03|2009-11-11|パイオニア株式会社|情報記録再生装置およびコンピュータプログラム| US6711663B2|2001-11-15|2004-03-23|Key Technology Corporation|Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof| US7139937B1|2002-08-15|2006-11-21|Network Appliance, Inc.|Method and apparatus to establish safe state in a volatile computer memory under multiple hardware and software malfunction conditions| US8041878B2|2003-03-19|2011-10-18|Samsung Electronics Co., Ltd.|Flash file system| US7028139B1|2003-07-03|2006-04-11|Veritas Operating Corporation|Application-assisted recovery from data corruption in parity RAID storage using successive re-reads| US7660941B2|2003-09-10|2010-02-09|Super Talent Electronics, Inc.|Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories| JP4461754B2|2003-09-26|2010-05-12|Tdk株式会社|メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法| US20060008256A1|2003-10-01|2006-01-12|Khedouri Robert K|Audio visual player apparatus and system and method of content distribution using the same| US7143120B2|2004-05-03|2006-11-28|Microsoft Corporation|Systems and methods for automated maintenance and repair of database and file systems| US20050251617A1|2004-05-07|2005-11-10|Sinclair Alan W|Hybrid non-volatile memory system| US7330938B2|2004-05-18|2008-02-12|Sap Ag|Hybrid-cache having static and dynamic portions| JP4209820B2|2004-07-15|2009-01-14|株式会社ハギワラシスコム|メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム| JP4688584B2|2005-06-21|2011-05-25|株式会社日立製作所|ストレージ装置| US7366887B2|2005-07-11|2008-04-29|Lenovo Pte. Ltd.|System and method for loading programs from HDD independent of operating system| US20070016721A1|2005-07-18|2007-01-18|Wyse Technology Inc.|Flash file system power-up by using sequential sector allocation| US20070083697A1|2005-10-07|2007-04-12|Microsoft Corporation|Flash memory management| US7917723B2|2005-12-01|2011-03-29|Microsoft Corporation|Address translation table synchronization| KR100843543B1|2006-10-25|2008-07-04|삼성전자주식회사|플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법| US8195912B2|2007-12-06|2012-06-05|Fusion-io, Inc|Apparatus, system, and method for efficient mapping of virtual and physical addresses| JP4967680B2|2007-01-23|2012-07-04|ソニー株式会社|記憶装置およびコンピュータシステム、並びに記憶装置の管理方法| US7596643B2|2007-02-07|2009-09-29|Siliconsystems, Inc.|Storage subsystem with configurable buffer| US8135900B2|2007-03-28|2012-03-13|Kabushiki Kaisha Toshiba|Integrated memory management and memory management method| US7870122B2|2007-04-23|2011-01-11|Microsoft Corporation|Self-tuning index for flash-based databases| US8037112B2|2007-04-23|2011-10-11|Microsoft Corporation|Efficient access of flash databases| US8892831B2|2008-01-16|2014-11-18|Apple Inc.|Memory subsystem hibernation| US20090198952A1|2008-02-04|2009-08-06|Apple Inc|Memory Mapping Architecture| US20090307409A1|2008-06-06|2009-12-10|Apple Inc.|Device memory management|US9384818B2|2005-04-21|2016-07-05|Violin Memory|Memory power management| US9632870B2|2007-03-29|2017-04-25|Violin Memory, Inc.|Memory system with multiple striping of raid groups and method for performing the same| US8200887B2|2007-03-29|2012-06-12|Violin Memory, Inc.|Memory management system and method| US8365040B2|2007-09-20|2013-01-29|Densbits Technologies Ltd.|Systems and methods for handling immediate data errors in flash memory| US8694715B2|2007-10-22|2014-04-08|Densbits Technologies Ltd.|Methods for adaptively programming flash memory devices and flash memory systems incorporating same| WO2009072104A2|2007-12-05|2009-06-11|Densbits Technologies Ltd.|Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith| WO2009074978A2|2007-12-12|2009-06-18|Densbits Technologies Ltd.|Systems and methods for error correction and decoding on multi-level physical media| US8892831B2|2008-01-16|2014-11-18|Apple Inc.|Memory subsystem hibernation| US20090198952A1|2008-02-04|2009-08-06|Apple Inc|Memory Mapping Architecture| WO2009118720A2|2008-03-25|2009-10-01|Densbits Technologies Ltd.|Apparatus and methods for hardware-efficient unbiased rounding| US20090307409A1|2008-06-06|2009-12-10|Apple Inc.|Device memory management| US8321652B2|2008-08-01|2012-11-27|Infineon Technologies Ag|Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks| US8285970B2|2008-11-06|2012-10-09|Silicon Motion Inc.|Method for managing a memory apparatus, and associated memory apparatus thereof| US20100138575A1|2008-12-01|2010-06-03|Micron Technology, Inc.|Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices| US8370603B2|2008-12-23|2013-02-05|Apple Inc.|Architecture for address mapping of managed non-volatile memory| US8458574B2|2009-04-06|2013-06-04|Densbits Technologies Ltd.|Compact chien-search based decoding apparatus and method| US8819385B2|2009-04-06|2014-08-26|Densbits Technologies Ltd.|Device and method for managing a flash memory| US8321647B2|2009-05-06|2012-11-27|Apple Inc.|Multipage preparation commands for non-volatile memory systems| US8438453B2|2009-05-06|2013-05-07|Apple Inc.|Low latency read operation for managed non-volatile memory| TWI455133B|2009-05-26|2014-10-01|Silicon Motion Inc|用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器| US8296503B2|2009-05-26|2012-10-23|Mediatek Inc.|Data updating and recovering methods for a non-volatile memory array| WO2010144587A2|2009-06-12|2010-12-16|Violin Memory, Inc.|Memory system having persistent garbage collection| ES2548194T3|2009-06-26|2015-10-14|Simplivity Corporation|Indexación escalable en una memoria de acceso no uniforme| US8516219B2|2009-07-24|2013-08-20|Apple Inc.|Index cache tree| US8468293B2|2009-07-24|2013-06-18|Apple Inc.|Restore index page| US8495332B2|2009-07-24|2013-07-23|Apple Inc.|Controller for optimizing throughput of read operations| US9330767B1|2009-08-26|2016-05-03|Avago Technologies General IpPte. Ltd.|Flash memory module and method for programming a page of flash memory cells| US8995197B1|2009-08-26|2015-03-31|Densbits Technologies Ltd.|System and methods for dynamic erase and program control for flash memory device memories| US8838877B2|2009-09-16|2014-09-16|Apple Inc.|File system derived metadata for management of non-volatile memory| FR2950463B1|2009-09-21|2011-12-09|St Microelectronics Rousset|Procede de lecture d'une memoire non volatile au moyen de metadonnees et d'une table de correspondance| EP2302638B1|2009-09-21|2013-04-17|STMicroelectronicsSAS|Procédé d'écriture et de lecture de données dans une mémoire non volatile, au moyen de métadonnées| US8730729B2|2009-10-15|2014-05-20|Densbits Technologies Ltd.|Systems and methods for averaging error rates in non-volatile devices and storage systems| US8724387B2|2009-10-22|2014-05-13|Densbits Technologies Ltd.|Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages| US9323994B2|2009-12-15|2016-04-26|Micron Technology, Inc.|Multi-level hierarchical routing matrices for pattern-recognition processors| US8443167B1|2009-12-16|2013-05-14|Western Digital Technologies, Inc.|Data storage device employing a run-length mapping table and a single address mapping table| US9037777B2|2009-12-22|2015-05-19|Densbits Technologies Ltd.|Device, system, and method for reducing program/read disturb in flash arrays| JP4802284B2|2010-01-29|2011-10-26|株式会社東芝|半導体記憶装置及びその制御方法| US8194340B1|2010-03-18|2012-06-05|Western Digital Technologies, Inc.|Disk drive framing write data with in-line mapping data during write operations| US8693133B1|2010-03-22|2014-04-08|Western Digital Technologies, Inc.|Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format| US9330715B1|2010-03-22|2016-05-03|Western Digital Technologies, Inc.|Mapping of shingled magnetic recording media| US8687306B1|2010-03-22|2014-04-01|Western Digital Technologies, Inc.|Systems and methods for improving sequential data rate performance using sorted data zones| US8745317B2|2010-04-07|2014-06-03|Densbits Technologies Ltd.|System and method for storing information in a multi-level cell memory| US8381018B2|2010-05-21|2013-02-19|Mediatek Inc.|Method for data recovery for flash devices| US9104546B2|2010-05-24|2015-08-11|Silicon Motion Inc.|Method for performing block management using dynamic threshold, and associated memory device and controller thereof| US10360143B2|2010-07-01|2019-07-23|Qualcomm Incorporated|Parallel use of integrated non-volatile memory and main volatile memory within a mobile device| US8510639B2|2010-07-01|2013-08-13|Densbits Technologies Ltd.|System and method for multi-dimensional encoding and decoding| EP2413329B1|2010-07-28|2014-03-26|Fujitsu Semiconductor Europe GmbH|Electronic apparatuses| US8850160B2|2010-08-23|2014-09-30|Apple Inc.|Adaptive write behavior for a system having non-volatile memory| US8964464B2|2010-08-24|2015-02-24|Densbits Technologies Ltd.|System and method for accelerated sampling| US8667248B1|2010-08-31|2014-03-04|Western Digital Technologies, Inc.|Data storage device using metadata and mapping table to identify valid user data on non-volatile media| JP5010723B2|2010-09-22|2012-08-29|株式会社東芝|半導体記憶制御装置| US8756361B1|2010-10-01|2014-06-17|Western Digital Technologies, Inc.|Disk drive modifying metadata cached in a circular buffer when a write operation is aborted| US8954664B1|2010-10-01|2015-02-10|Western Digital Technologies, Inc.|Writing metadata files on a disk| US9063878B2|2010-11-03|2015-06-23|Densbits Technologies Ltd.|Method, system and computer readable medium for copy back| US8850100B2|2010-12-07|2014-09-30|Densbits Technologies Ltd.|Interleaving codeword portions between multiple planes and/or dies of a flash memory device| US8417914B2|2011-01-06|2013-04-09|Micron Technology, Inc.|Memory address translation| US8990665B1|2011-04-06|2015-03-24|Densbits Technologies Ltd.|System, method and computer program product for joint search of a read threshold and soft decoding| US9372792B1|2011-05-12|2016-06-21|Avago Technologies General IpPte. Ltd.|Advanced management of a non-volatile memory| US9396106B2|2011-05-12|2016-07-19|Avago Technologies General IpPte. Ltd.|Advanced management of a non-volatile memory| US9501392B1|2011-05-12|2016-11-22|Avago Technologies General IpPte. Ltd.|Management of a non-volatile memory module| US9195592B1|2011-05-12|2015-11-24|Densbits Technologies Ltd.|Advanced management of a non-volatile memory| US8996790B1|2011-05-12|2015-03-31|Densbits Technologies Ltd.|System and method for flash memory management| US9110785B1|2011-05-12|2015-08-18|Densbits Technologies Ltd.|Ordered merge of data sectors that belong to memory space portions| US9514838B2|2011-05-31|2016-12-06|Micron Technology, Inc.|Apparatus including memory system controllers and related methods for memory management using block tables| US8793429B1|2011-06-03|2014-07-29|Western Digital Technologies, Inc.|Solid-state drive with reduced power up time| US8756382B1|2011-06-30|2014-06-17|Western Digital Technologies, Inc.|Method for file based shingled data storage utilizing multiple media types| US9235502B2|2011-09-16|2016-01-12|Apple Inc.|Systems and methods for configuring non-volatile memory| US8856438B1|2011-12-09|2014-10-07|Western Digital Technologies, Inc.|Disk drive with reduced-size translation table| US9213493B1|2011-12-16|2015-12-15|Western Digital Technologies, Inc.|Sorted serpentine mapping for storage drives| US8819367B1|2011-12-19|2014-08-26|Western Digital Technologies, Inc.|Accelerated translation power recovery| US8612706B1|2011-12-21|2013-12-17|Western Digital Technologies, Inc.|Metadata recovery in a disk drive| US8996788B2|2012-02-09|2015-03-31|Densbits Technologies Ltd.|Configurable flash interface| US8947941B2|2012-02-09|2015-02-03|Densbits Technologies Ltd.|State responsive operations relating to flash memory cells| CN102609364A|2012-02-14|2012-07-25|华中科技大学|缓存交换方法| US8554963B1|2012-03-23|2013-10-08|DSSD, Inc.|Storage system with multicast DMA and unified address space| US8996793B1|2012-04-24|2015-03-31|Densbits Technologies Ltd.|System, method and computer readable medium for generating soft information| US8838937B1|2012-05-23|2014-09-16|Densbits Technologies Ltd.|Methods, systems and computer readable medium for writing and reading data| US8879325B1|2012-05-30|2014-11-04|Densbits Technologies Ltd.|System, method and computer program product for processing read threshold information and for reading a flash memory module| US9524248B2|2012-07-18|2016-12-20|Micron Technology, Inc.|Memory management for a hierarchical memory system| US9921954B1|2012-08-27|2018-03-20|Avago Technologies General IpPte. Ltd.|Method and system for split flash memory management between host and storage controller| US8392428B1|2012-09-12|2013-03-05|DSSD, Inc.|Method and system for hash fragment representation| KR101992934B1|2012-11-14|2019-06-26|삼성전자주식회사|메모리 시스템 및 이의 동작 방법| US9368225B1|2012-11-21|2016-06-14|Avago Technologies General IpPte. Ltd.|Determining read thresholds based upon read error direction statistics| US8699185B1|2012-12-10|2014-04-15|Western Digital Technologies, Inc.|Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks| US9069659B1|2013-01-03|2015-06-30|Densbits Technologies Ltd.|Read threshold determination using reference read threshold| US9703574B2|2013-03-15|2017-07-11|Micron Technology, Inc.|Overflow detection and correction in state machine engines| US9448965B2|2013-03-15|2016-09-20|Micron Technology, Inc.|Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine| US9136876B1|2013-06-13|2015-09-15|Densbits Technologies Ltd.|Size limited multi-dimensional decoding| US9405672B2|2013-06-25|2016-08-02|Seagate Technology Llc|Map recycling acceleration| US9582426B2|2013-08-20|2017-02-28|International Business Machines Corporation|Hardware managed compressed cache| CN104424110B|2013-09-10|2017-11-14|Lsi公司|固态驱动器的主动回收| US9413491B1|2013-10-08|2016-08-09|Avago Technologies General IpPte. Ltd.|System and method for multiple dimension decoding and encoding a message| US9786388B1|2013-10-09|2017-10-10|Avago Technologies General IpPte. Ltd.|Detecting and managing bad columns| US9348694B1|2013-10-09|2016-05-24|Avago Technologies General IpPte. Ltd.|Detecting and managing bad columns| US9397706B1|2013-10-09|2016-07-19|Avago Technologies General IpPte. Ltd.|System and method for irregular multiple dimension decoding and encoding| KR102116258B1|2013-12-24|2020-06-05|삼성전자주식회사|메모리 시스템 및 그것을 포함하는 유저 장치| US9536612B1|2014-01-23|2017-01-03|Avago Technologies General IpPte. Ltd|Digital signaling processing for three dimensional flash memory arrays| US10120792B1|2014-01-29|2018-11-06|Avago Technologies General IpPte. Ltd.|Programming an embedded flash storage device| KR20150129941A|2014-05-12|2015-11-23|삼성전자주식회사|메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템| US9542262B1|2014-05-29|2017-01-10|Avago Technologies General IpPte. Ltd.|Error correction| US9892033B1|2014-06-24|2018-02-13|Avago Technologies General IpPte. Ltd.|Management of memory units| US9972393B1|2014-07-03|2018-05-15|Avago Technologies General IpPte. Ltd.|Accelerating programming of a flash memory module| US9584159B1|2014-07-03|2017-02-28|Avago Technologies General IpPte. Ltd.|Interleaved encoding| US9449702B1|2014-07-08|2016-09-20|Avago Technologies General IpPte. Ltd.|Power management| US8953269B1|2014-07-18|2015-02-10|Western Digital Technologies, Inc.|Management of data objects in a data object zone| US10747449B2|2014-07-31|2020-08-18|Toshiba Memory Corporation|Reduction of power use during address translation via selective refresh operations| US9875055B1|2014-08-04|2018-01-23|Western Digital Technologies, Inc.|Check-pointing of metadata| US9378149B1|2014-08-29|2016-06-28|Emc Corporation|Method and system for tracking modification times of data in a storage system| TWI604307B|2014-10-31|2017-11-01|慧榮科技股份有限公司|資料儲存裝置以及快閃記憶體控制方法| US9524211B1|2014-11-18|2016-12-20|Avago Technologies General IpPte. Ltd.|Codeword management| KR20160067303A|2014-12-03|2016-06-14|울산과학기술원|실러 도포 품질 검사 장치 및 이를 이용한 실러 도포 품질 검사 방법| WO2016109571A1|2014-12-30|2016-07-07|Micron Technology, Inc|Devices for time division multiplexing of state machine engine signals| WO2016109570A1|2014-12-30|2016-07-07|Micron Technology, Inc|Systems and devices for accessing a state machine| KR20160090953A|2015-01-22|2016-08-02|삼성전자주식회사|저장 장치 및 그것의 서스테인드 상태 가속 방법| US10305515B1|2015-02-02|2019-05-28|Avago Technologies International Sales Pte. Limited|System and method for encoding using multiple linear feedback shift registers| US9652157B2|2015-03-19|2017-05-16|International Business Machines Corporation|Accelerated non-volatile memory recirculation processing| CN106796588B|2015-06-03|2019-11-22|华为技术有限公司|索引表的更新方法和设备| US10628255B1|2015-06-11|2020-04-21|Avago Technologies International Sales Pte. Limited|Multi-dimensional decoding| US9851921B1|2015-07-05|2017-12-26|Avago Technologies General IpPte. Ltd.|Flash memory chip processing| KR20170012629A|2015-07-21|2017-02-03|에스케이하이닉스 주식회사|메모리 시스템 및 메모리 시스템의 동작 방법| TWI554884B|2015-07-21|2016-10-21|群聯電子股份有限公司|記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置| US9645922B2|2015-09-10|2017-05-09|HoneycombData Inc.|Garbage collection in SSD drives| CN105278876B|2015-09-23|2018-12-14|华为技术有限公司|一种固态硬盘的数据擦除方法及装置| US9612967B1|2015-09-25|2017-04-04|Dell Products, L.P.|Cache load balancing by reclaimable block migration| CN106557432B|2015-09-29|2019-08-06|群联电子股份有限公司|缓冲存储器管理方法、存储器控制电路单元及存储装置| US10691964B2|2015-10-06|2020-06-23|Micron Technology, Inc.|Methods and systems for event reporting| CN108139902A|2015-10-16|2018-06-08|科内克斯实验室公司|用于提供混合模式来访问ssd驱动器的方法和装置| TWI584122B|2015-11-17|2017-05-21|群聯電子股份有限公司|緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置| KR20170060206A|2015-11-23|2017-06-01|에스케이하이닉스 주식회사|메모리 시스템 및 메모리 시스템의 동작 방법| CN106776376B|2015-11-24|2019-08-06|群联电子股份有限公司|缓冲存储器管理方法、存储器控制电路单元及存储装置| US9740609B1|2016-02-19|2017-08-22|International Business Machines Corporation|Garbage collection techniques for a data storage system| US9954558B1|2016-03-03|2018-04-24|Avago Technologies General IpPte. Ltd.|Fast decoding of data stored in a flash memory| US10146555B2|2016-07-21|2018-12-04|Micron Technology, Inc.|Adaptive routing to avoid non-repairable memory and logic defects on automata processor| CN106445832A|2016-09-06|2017-02-22|深圳市先天海量信息技术有限公司|闪存存储系统的地址映射方法及装置| US10019311B2|2016-09-29|2018-07-10|Micron Technology, Inc.|Validation of a symbol response memory| US10268602B2|2016-09-29|2019-04-23|Micron Technology, Inc.|System and method for individual addressing| US10592450B2|2016-10-20|2020-03-17|Micron Technology, Inc.|Custom compute cores in integrated circuit devices| TWI613652B|2017-03-27|2018-02-01|慧榮科技股份有限公司|資料儲存裝置以及其操作方法| US10152258B1|2017-06-13|2018-12-11|Sap Se|Big block allocation of persistent main memory| US10534718B2|2017-07-31|2020-01-14|Micron Technology, Inc.|Variable-size table for address translation| US10289561B2|2017-08-08|2019-05-14|Samsung Electronics Co., Ltd.|Nonvolatile memory devices and methods of controlling the same| US10725918B2|2017-09-19|2020-07-28|International Business Machines Corporation|Table of contents cache entry having a pointer for a range of addresses| US10705973B2|2017-09-19|2020-07-07|International Business Machines Corporation|Initializing a data structure for use in predicting table of contents pointer values| US10713050B2|2017-09-19|2020-07-14|International Business Machines Corporation|Replacing Table of Contents -setting instructions in code with TOC predicting instructions| US10620955B2|2017-09-19|2020-04-14|International Business Machines Corporation|Predicting a table of contents pointer value responsive to branching to a subroutine| WO2019113729A1|2017-12-11|2019-06-20|Micron Technology, Inc.|Scheme to improve efficiency of garbage collection in cached flash translation layer| TWI679538B|2018-03-31|2019-12-11|慧榮科技股份有限公司|資料儲存系統之控制單元以及邏輯至物理映射表更新方法| US10795604B2|2018-07-23|2020-10-06|Western Digital Technologies, Inc.|Reporting available physical storage space of non-volatile memory array| CN110287201A|2019-07-02|2019-09-27|重庆紫光华山智安科技有限公司|数据访问方法、装置、设备及存储介质|
法律状态:
2012-10-12| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121011 | 2013-01-12| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130111 | 2013-01-22| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130121 | 2013-04-12| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130411 | 2013-05-16| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130515 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|